.text
.bss
.globl units
.align 4
units:
    .zero 4

.section .rodata
.align 8
.LC0:
	.string	"How many pounds to a firkin of butter?"
.LC1:
	.string	"%d"
.LC2:
	.string	"You must have looked it up!"
.LC3:
	.string	"No luck, my friend. Try again."

.text
.globl main
.type main, @function
main:
    pushq %rbp
    movq %rsp, %rbp

    leaq .LC0(%rip), %rdi
    call puts
    leaq .LC1(%rip), %rdi
    leaq units(%rip), %rsi
    call scanf

    jmp .WHILE_13_COMPARE
.WHILE_13_ENTER:
    call critic

.WHILE_13_COMPARE:
    movl units(%rip), %eax
    cmpl $56, %eax
    jne .WHILE_13_ENTER

    leaq .LC2(%rip), %rdi
    call puts

    movl $0, %eax
    leave
    ret

.type critic, @function
critic:
    pushq %rbp
    movq %rsp, %rbp
    leaq .LC3(%rip), %rdi
    call puts
    leaq .LC1(%rip), %rdi
    leaq units(%rip), %rsi
    call scanf
    leave
    ret
